1. Technical Field
The present invention relates generally to data processing systems and in particular to the preload imaging process on a data processing system. Still more particularly, the present invention relates to a method and system for enabling autonomic resumption of stalled preload imaging processes on a data processing system.
2. Description of the Related Art
Conventional data processing systems are manufactured with hardware and software components (e.g., basic input output system (BIOS)) that enable the data processing system to load new application software to the hard drive and preload other software components from memory or a storage device to the hard drive in order to prepare the system for executing the loaded applications. These software applications are installed via a preload imaging process, by which the individual image files and other supporting software are first installed on the hard drive in some installation sequence before the full application is made operational on the system. Conventional methods complete the preload imaging process in a serialized manner, where each individual file image of the application(s) was loaded one at a time.
Serialized installation of the software components that make up the preload image is required when each subsequent individual component has a, dependency on a previous component. However, it is common for the applications to contain independent components or groups of components, which are all stored on the source medium but do not have any dependency with other components. From both a manufacturing and preload-efficiency perspective, the one-dimensional (serialized) preload process limits the speed and efficiency of delivering preload images. The process unnecessarily aligns non-dependent components with each other into a serialized preload process.
In order to provide a system engineer with information on the status of a serialized preload, a log may be employed to record the status. This log may at times enable the engineer to manually resume a preload that has crashed from some other location other than the very beginning of the preload process (i.e., without a complete restart).
Recent developments are being undertaken to identify ways of improving the efficiency of preload imaging process, which would substantially eliminate the need for serial loading of component files of an application during preload imaging processes. Technological developments in other software processing areas have led to the implementation of multithreaded operation and related functionality.
One development that is evolving in this field is that of extending the preload process from the serialized implementation to a parallel processing implementation for independent component files. However, this expansion of processing methods (i.e., parallel execution of a preload process) complicates the logging feature of a serialized implementation since current design of the log only allows for a serial listing of status information as the individual files are being loaded. With parallel implementation of the preload process, determining a safe and accurate resume point would be a very difficult and time intensive task for an engineer.
However, various complexities exist that have so far prevented implementation of a non-serialized approach to preload imaging process. In particular, any movement towards such an implementation is limited by the currently implemented serialized response mechanisms for handling recovery from a crash during preload.
Occasionally, in today's computer manufacturing environment, the computer's preload imaging process crashes. When a crash occurs during preload, a test engineer is required to assess why the crash occurred and, following such determination, modify the preload process data so that a complete (or partial) restart may be provided. When the crash occurs at a sensitive point in the process, however, it is oftentimes not possible to complete the preload process successfully without completely restarting the process (i.e., begin preloading all applications following the serialized preload process that crashed). Such a complete restart is very time consuming and inefficient, particularly when the crash occurs after several independent potions of the preload operation have completed successfully.
The present invention recognizes the limitations that exist with current implementations of the preload imaging process and the limitations of the one dimensional log file for tracking the serialized process. The invention recognizes that it would be desirable to provide a method and system for logging state and other relevant information for multiple concurrent preload imaging processes, which necessarily contain interlaced messages. The invention further recognizes that it would be beneficial to provide a preload imaging process that is self-healing which autonomically provides a safe and accurate resume of the process following a crash.